/**
 * Project Name:kany-utils
 * File Name:ScheduleJob.java
 * Package Name:me.kany.utils.springutils.task.model
 * Date:2016年9月20日下午10:26:52
 * Copyright (c) 2016, Jason.Wang All Rights Reserved.
 */
package me.kany.utils.springutils.task.model;

import java.util.Date;

/**
 * ScheduleJob entity.
 */
@SuppressWarnings("serial")
public class ScheduleJob implements java.io.Serializable {

	// Fields
	public static final String STATUS_RUNNING = "1";
	public static final String STATUS_NOT_RUNNING = "0";
	public static final String CONCURRENT_IS = "1";
	public static final String CONCURRENT_NOT = "0";
	/**
	 * 任务的Id
	 */
	private Long jobId;
	/**
	 * 创建的时间
	 */
	private Date createTime;
	/**
	 * 更新的时间
	 */
	private Date updateTime;
	/**
	 * 任务名称
	 */
	private String jobName;
	/**
	 * 任务分组
	 */
	private String jobGroup;
	/**
	 * 任务状态 是否启动任务
	 */
	private String jobStatus;
	/**
	 * cron表达式
	 */
	private String cronExpression;
	/**
	 * 描述
	 */
	private String description;
	/**
	 * 任务执行时调用哪个类的方法 包名+类名
	 */
	private String beanClass;
	/**
	 * 任务是否有状态
	 */
	private String isConcurrent;
	/**
	 * spring bean
	 */
	private String springId;
	/**
	 * 任务调用的方法名
	 */
	private String methodName;

	// Constructors

	/** default constructor */
	public ScheduleJob() {
	}

	/** minimal constructor */
	public ScheduleJob(String cronExpression, String methodName) {
		this.cronExpression = cronExpression;
		this.methodName = methodName;
	}

	/** full constructor */
	public ScheduleJob(Date createTime, Date updateTime,
			String jobName, String jobGroup, String jobStatus,
			String cronExpression, String description, String beanClass,
			String isConcurrent, String springId, String methodName) {
		this.createTime = createTime;
		this.updateTime = updateTime;
		this.jobName = jobName;
		this.jobGroup = jobGroup;
		this.jobStatus = jobStatus;
		this.cronExpression = cronExpression;
		this.description = description;
		this.beanClass = beanClass;
		this.isConcurrent = isConcurrent;
		this.springId = springId;
		this.methodName = methodName;
	}

	public Long getJobId() {
		return this.jobId;
	}

	public void setJobId(Long jobId) {
		this.jobId = jobId;
	}

	public Date getCreateTime() {
		return this.createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getUpdateTime() {
		return this.updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public String getJobName() {
		return this.jobName;
	}

	public void setJobName(String jobName) {
		this.jobName = jobName;
	}

	public String getJobGroup() {
		return this.jobGroup;
	}

	public void setJobGroup(String jobGroup) {
		this.jobGroup = jobGroup;
	}

	public String getJobStatus() {
		return this.jobStatus;
	}

	public void setJobStatus(String jobStatus) {
		this.jobStatus = jobStatus;
	}

	public String getCronExpression() {
		return this.cronExpression;
	}

	public void setCronExpression(String cronExpression) {
		this.cronExpression = cronExpression;
	}

	public String getDescription() {
		return this.description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public String getBeanClass() {
		return this.beanClass;
	}

	public void setBeanClass(String beanClass) {
		this.beanClass = beanClass;
	}

	public String getIsConcurrent() {
		return this.isConcurrent;
	}

	public void setIsConcurrent(String isConcurrent) {
		this.isConcurrent = isConcurrent;
	}

	public String getSpringId() {
		return this.springId;
	}

	public void setSpringId(String springId) {
		this.springId = springId;
	}

	public String getMethodName() {
		return this.methodName;
	}

	public void setMethodName(String methodName) {
		this.methodName = methodName;
	}
}
